package com.starry.module.system.api.menu.domain.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 系统菜单SysMenuVo
 *
 * @author xiaoke
 */
@Schema(description = "SysMenuVo")
@Data
public class SysMenuVo {
    /**
     * 主键
     */
    @Schema(description = "主键")
    private Long id;

    /**
     * 父id
     */
    @Schema(description = "父id")
    private Long pid;
    /**
     * 显示顺序
     */
    @Schema(description = "显示顺序")
    private Integer menuRank;
    /**
     * 菜单名
     */
    @Schema(description = "菜单名")
    private String name;
    /**
     * 菜单标题
     */
    @Schema(description = "菜单标题")
    private String title;
    /**
     * 外部跳转链接
     */
    @Schema(description = "外部跳转链接")
    private String frameSrc;
    /**
     * 权限标识符
     */
    @Schema(description = "权限标识符")
    private String perms;
    /**
     * 路由地址
     */
    @Schema(description = "路由地址")
    private String path;
    /**
     * 菜单类型（1菜单 2按钮）
     */
    @Schema(description = "菜单类型（1菜单 2按钮）")
    private String menuType;
    /**
     * 是否显示菜单
     */
    @Schema(description = "是否显示菜单")
    private Integer showLink;
    /**
     * 图标
     */
    @Schema(description = "图标")
    private String icon;
    /**
     * 激活菜单的path
     */
    @Schema(description = "激活菜单的path")
    private String activePath;
    /**
     * 是否添加到tag
     */
    @Schema(description = "是否添加到tag")
    private Integer showTag;
    /**
     * 是否缓存该页面
     */
    @Schema(description = "是否缓存该页面")
    private Integer keepAlive;
    /**
     * 创建者id
     */
    @Schema(description = "创建者id")
    private Long createId;
    /**
     * 状态（0禁用1启用）
     */
    @Schema(description = "状态（0禁用1启用）")
    private Integer status;
    /**
     * 创建时间
     */
    @Schema(description = "创建时间")
    private LocalDateTime createTime;
    /**
     * 更新者Id
     */
    @Schema(description = "更新者Id")
    private Long updateId;
    /**
     * 更新时间
     */
    @Schema(description = "更新时间")
    private LocalDateTime updateTime;
    /**
     * 更新者用户名
     */
    @Schema(description = "更新者用户名")
    private String updateName;
    /**
     * 创建者用户名
     */
    @Schema(description = "创建者用户名")
    private String createName;
}

